home *** CD-ROM | disk | FTP | other *** search
- /* AuditLibrary.c */
- /*
- * AuditLibrary.c
- * Copyright © 1992-93 Apple Computer Inc. All Rights Reserved.
- *
- * Auditing for a few of the low-level AOCE directory service routines.
- */
- #include "DTSSampleCSAM.h"
-
- #if DEBUG_LOG
- void
- AuditLookupGetPB(
- DirParamBlock *pbPtr
- )
- {
- AuditPtr auditPtr;
-
- auditPtr = GetAuditPtr(kCSAMCreatorID);
- Audit(
- auditPtr, 'AddD', AuditFormat2(
- kAuditFormatSigned,
- kAuditFormatAddress
- ),
- (long) pbPtr->lookupGetPB.dsRefNum,
- pbPtr->lookupGetPB.clientData
- );
- Audit(
- auditPtr, 'AddD', AuditFormat7(
- kAuditFormatAddress,
- kAuditFormatAddress,
- kAuditFormatUnsigned,
- kAuditFormatUnsigned,
- kAuditFormatSigned,
- kAuditFormatAddress,
- kAuditFormatUnsigned
- ),
- pbPtr->lookupGetPB.aRecordList,
- pbPtr->lookupGetPB.attrTypeList,
- pbPtr->lookupGetPB.recordIDCount,
- pbPtr->lookupGetPB.attrTypeCount,
- (long) pbPtr->lookupGetPB.includeStartingPoint,
- (long) pbPtr->lookupGetPB.getBuffer,
- (long) pbPtr->lookupGetPB.getBufferSize
- );
- AuditRString(auditPtr, 'Attr',
- &pbPtr->lookupGetPB.startingAttribute.attributeType
- );
- AuditRecordList(
- auditPtr,
- pbPtr->lookupGetPB.aRecordList,
- pbPtr->lookupGetPB.recordIDCount
- );
- AuditAttributeTypeList(
- auditPtr,
- pbPtr->lookupGetPB.attrTypeList,
- pbPtr->lookupGetPB.attrTypeCount
- );
- }
-
- void
- AuditRecordList(
- AuditPtr auditPtr,
- RecordIDPtr *aRecordList,
- unsigned long recordIDCount
- )
- {
- unsigned long i;
-
- AuditStatusString(auditPtr, 'RLCT', recordIDCount, "\pRecord List");
- for (i = 0; i < recordIDCount; i++)
- AuditRecordID(auditPtr, aRecordList[i]);
- }
-
- void
- AuditAttributeTypeList(
- AuditPtr auditPtr,
- AttributeTypePtr *attrTypeList,
- unsigned long attrTypeCount
- )
- {
- unsigned long i;
-
- AuditStatusString(auditPtr, 'ATCT', attrTypeCount, "\pAttribute Type List");
- for (i = 0; i < attrTypeCount; i++)
- AuditAttributeType(auditPtr, attrTypeList[i]);
- }
-
- void
- AuditRecordID(
- AuditPtr auditPtr,
- RecordIDPtr recordIDPtr
- )
- {
- AuditPackedRLIPtr(auditPtr, recordIDPtr->rli);
- AuditLocalRecordID(auditPtr, &recordIDPtr->local);
- }
-
-
- void
- AuditPackedRLIPtr(
- AuditPtr auditPtr,
- PackedRLIPtr rliPtr
- )
- {
- RLI theRLI;
-
- if (rliPtr == NULL)
- Audit(auditPtr, 'PRLI', kAuditFormatString, "\pNull RLI Ptr");
- else if (OCEValidPackedRLI(rliPtr) == FALSE) {
- Audit(auditPtr, 'PRLI', kAuditFormatString, "\pInvalid RLI Ptr");
- Audit(auditPtr, 'PRLI', AuditFormat1(kAuditFormatAddress), rliPtr);
- }
- else {
- OCEUnpackRLI(rliPtr, &theRLI);
- Audit(
- auditPtr, 'PRLI', kAuditFormatString,
- OCERToPString((RString *) theRLI.directoryName)
- );
- Audit(
- auditPtr, 'PRLI',
- AuditFormat3(kAuditFormatHex, kAuditFormatAddress, kAuditFormatUnsigned),
- theRLI.discriminator.signature,
- theRLI.discriminator.misc,
- theRLI.dNodeNumber
- );
- AuditPath(auditPtr, theRLI.path);
- }
- }
-
- void
- AuditLocalRecordID(
- AuditPtr auditPtr,
- LocalRecordIDPtr localRecordIDPtr
- )
- {
- Audit(auditPtr, 'LRid', kAuditFormatString, "\pLocal record id");
- Audit(
- auditPtr,
- 'LRid',
- AuditFormat2(kAuditFormatAddress, kAuditFormatAddress),
- localRecordIDPtr->recordName,
- localRecordIDPtr->recordType
- );
- AuditRString(auditPtr, 'LRid', localRecordIDPtr->recordName);
- AuditRString(auditPtr, 'LRid', localRecordIDPtr->recordType);
- }
-
-
- void
- AuditPath(
- AuditPtr auditPtr,
- PackedPathNamePtr thePath
- )
- {
- unsigned short nParts;
- unsigned short iParts;
- RStringPtr *partsVector;
-
- partsVector = NULL;
- if (thePath == NULL)
- Audit(auditPtr, 'Path', kAuditFormatString, "\pNull path");
- else {
- nParts = OCEDNodeNameCount(thePath);
- Audit(auditPtr, 'nPat', AuditFormat1(kAuditFormatUnsigned),
- (unsigned long) nParts);
- if (nParts <= 32) {
- partsVector = (RStringPtr *)
- NewPtrClear(nParts * sizeof (RStringPtr));
- if (partsVector != NULL) {
- iParts = OCEUnpackPathName(thePath, partsVector, nParts);
- for (; iParts > 0; --iParts) {
- AuditRString(auditPtr, 'Path', partsVector[iParts]);
- }
- DisposePtr((Ptr) partsVector);
- }
- }
- }
- }
- #endif /* DEBUG_LOG */
-
-
-
-